In modern digital data transmission channels, such as communications channels and hard disk read and write channels, digital signal processing circuits and methods are utilized to provide accurate and reliable transfer of data over such channels. A data transmission channel may be viewed generally as including an encoder/transmitter which receives data input in the form of symbols corresponding to information to be transferred. The encoder/transmitter encodes these symbols for transmission over a physical transmission channel such as a telephone line, coaxial cable, or bus in a computer system. A decoder/receiver coupled to the physical transmission channel receives the encoded symbols being transferred and decodes these symbols to provide the original data input to other circuitry in the decoder/receiver.
Electrical signals corresponding to the symbols being transferred over the physical transmission channel may experience noise and distortion as these signals propagate over the channel. In fact, as the symbols propagate over the physical transmission channel they may be severely distorted by the channel. As modern digital data transmission channels operate at increasingly faster data rates the transitions associated with sequential symbols occur closer together in time, making it more difficult to filter out channel noise and distortion to properly identify the symbols and thereafter obtain the originally transmitted data at the decoder/receiver.
The decoder/receiver typically includes a filter that removes noise from the received electrical signal to provide a filtered signal. An analog-to-digital (A/D) converter samples the filtered signal to provide a series of samples that collectively form a digital representation of the filtered signal. Digital signal processing (DSP) circuitry receives these samples and processes the samples to determine the corresponding values of the symbols being communicated over the physical transmission channel. More specifically, the DSP circuitry typically includes a “data slicer” or decision block that determines a value of respective symbols from the corresponding samples. The DSP circuitry also typically includes a feed forward equalizer (FFE) that adjusts the values of current samples being processed to compensate for precursor intersymbol interference, as will be described in more detail below. The DSP circuitry further typically includes a decision feedback equalizer (DFE) that generates a feedback signal from weighted values of previously detected symbols to adjust the current values of samples being evaluated to detect a current symbol, as will also be described in more detail below. A decoder decodes the detected symbols to provide decoded data output that ideally is identical to the original data input supplied to the encoder/transmitter.
The performance of the data transmission channel depends on how accurately the samples represent the original electrical signals corresponding to these symbols. Noise and distortion introduced by the physical transmission channel affects the electrical signals propagating over the channel and in this way may adversely affect the values of the samples and thereby the overall performance of the channel. One type of interference that the physical transmission channel can introduce is known as intersymbol interference (ISI), which results from the temporal spreading of the signal corresponding to each “symbol” being communicated over the physical transmission channel. This temporal spreading of individual symbols results in the overlap of adjacent symbols propagating over the physical transmission channel, making it difficult for the decoder/receiver to reliably determine the value of each individual received symbol. Two types of ISI can occur in a given symbol being processed: post-cursor ISI and precursor ISI. Post-cursor ISI is the effect that prior symbols have on a current symbol being processed. Precursor ISI is the effect of subsequent symbols on the current symbol being processed, which occurs due to the different velocities at which different frequency components of each symbol travel over the physical transmission channel, as will be appreciated by those skilled in the art.
One approach that has been utilized to overcome the phenomena of precursor ISI is the use of a feed forward equalizer (FFE) which adjusts the value of a current sample being processed using weighted values of subsequent samples to thereby adjust the values of current sample and compensate for precursor ISI. A common approach that has been utilized to overcome the phenomena of post-cursor ISI is the use of a decision feedback equalizer (DFE). As previously mentioned, a DFE generates a feedback signal from weighted values of previously detected symbols. This feedback signal is utilized to adjust the current values of samples being evaluated to detect a current symbol. More specifically, the DFE generates the feedback signal having a value that subtracts out the ISI from prior symbols on a sample of a current symbol that is being evaluated. The effect of this is to eliminate the contributions of prior symbols on the given sample to more reliably determine a value for the given sample, as will be described in more detail below. The decision block compares the adjusted value of the given sample to predetermined detection thresholds to determine the value of the symbol being detected. For example, in a four level pulse amplitude modulation (“4-PAM) system, the decision block determines whether the adjusted sample corresponds to one of four permissible levels, such as +1, −1, +3, or −3, each level corresponding to a particular symbol. In this way, the DFE feeds back weighted values of current decisions that the decision block then utilizes in determining a value for the symbol corresponding to the current sample being processed, hence the name “decision feedback” equalizer.
A problem can arise from the recursive or feedback nature of the decision block operating in combination with the DFE. More specifically, the DFE utilizes past decisions from the decision block to generate a feedback signal that is intended to cancel post-cursor intersymbol interference (ISI), where post-cursor ISI is the effect that prior symbols have on a subsequent symbol as previously discussed. The decision block makes an optimal determination of the value of current symbol only when all past determinations are correct. If any of these prior determinations was in error, there is a likelihood that the DFE will generate a feedback signal which instead of cancelling post-cursor ISI will actually increase or compound such ISI. As a result, further errors known as burst errors can be generated by conventional DFEs. Burst errors are a sequence of errors that result from a single symbol error. Due to the feedback utilized by the DFE, a first wrong decision for a current symbol affects the value of the feedback signal that is used to adjust the value of the next symbol to be processed. As a result, this first wrong decision could result in a second wrong decision for the next symbol, which in turn could lead to yet another wrong decision for the following symbol, and so on, causing a sequence of wrong decisions that will be referred to as a burst error herein. The duration of a burst error is characterized by the burst error length measured by the number of symbols that may contain faulty decisions.
One approach to reduce burst error lengths in binary systems is to adjust the value of the feedback signal from the DFE when the value of the sample being detected is within an uncertainty window around a detection threshold. For example, assume the detection threshold is 0 volts and that when the sample is greater than 0 the decision block determines the detected value is +1 and when the sample is less than 0 the detected value is −1. The values +1 and −1 correspond to the binary values being detected. If the current sample is within the uncertainty window around the 0 threshold, the DFE adjusts the value of the feedback signal (e.g., by feeding back a 0 instead of a +1 or −1) so that the next sample being processed by the decision block will be processed differently based upon the adjusted feedback signal. Such an approach reduces the length and the likelihood of burst errors in binary systems.
There is a need for reducing the numbers of errors generally and reducing the length and likelihood of burst errors specifically in communications systems utilizing other than binary signals, such as those using multilevel modulation techniques like four level pulse amplitude modulation (4-PAM) and multidimensional modulation techniques like quadrature amplitude modulation (QAM).